package Jogo;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;

import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Janela extends JComponent implements Observador {

	private JFrame janela = new JFrame("Controlador Aereo");
	private JButton fim = new JButton("FIM");
	private Ceu ceu;

	private int linhas;
	private int colunas;

	public Janela(Observado observado) {

		String read;
		do {
			read = JOptionPane.showInputDialog("linhas");
		} while (!isInteger(read));
		linhas = Integer.parseInt(read);

		do {
			read = JOptionPane.showInputDialog("colunas");
		} while (!isInteger(read));

		colunas = Integer.parseInt(read);

		ceu = new Ceu(linhas, colunas);
		observado.addObserver(this);
		janela.getContentPane().add(ceu, BorderLayout.CENTER);
		janela.getContentPane().add(fim, BorderLayout.SOUTH);
		fim.setBackground(Color.BLACK);
		fim.setForeground(Color.WHITE);
		janela.setSize(linhas * 50, colunas * 50);
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}

	public boolean isInteger(String s) {
		try {
			int r = Integer.parseInt(s);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "numero invalido");
			return false;
		}
		return true;
	}

	public void init() {
		janela.setResizable(false);
		janela.setVisible(true);
	}

	public void actualizaAviao(Point posicaoAviao) {
		ceu.actualizaAviao(posicaoAviao);
	}

	public int getLinhas() {
		return linhas;
	}

	public int getColunas() {
		return colunas;
	}
}
